package com.slwu.adapter;

/**
 * 适配器模式
 * 适配器模式的作用是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
 * 适配器模式分为类结构型模式和对象结构型模式，类结构型模式是将一个类的接口转换成客户希望的另外一个接口，对象结构型模式则是将一个对象包装成一个适配器让原本
 */
public class OperationAdapter implements ScoreOperation {

    private QuickSort quickSort;
    private BinarySearch binarySearch;

    public OperationAdapter() {
        quickSort = new QuickSort();
        binarySearch = new BinarySearch();
    }

    @Override
    public int[] sort(int[] arr) {
        return quickSort.quickSort(arr);
    }

    @Override
    public int search(int[] arr, int target) {
        return binarySearch.binarySearch(arr, target);
    }
}
